跳到主要内容

签名说明

由于 XT 需要为第三方平台提供一些开放接口,必须考虑数据安全问题。例如:

  • 数据是否被篡改
  • 数据是否已过期
  • 数据是否可以重复提交
  • 接口访问频率是否超限

其中,数据是否被篡改是最重要的

规则

  1. AppKey & SecretKey 请先在用户中心申请 appkeysecretkey。每个用户的 appkeysecretkey 都不相同。

  2. 时间戳 其值应为发送请求时的 Unix 时间戳(毫秒)。数据有效性基于此值计算。

  3. 签名 添加 signature,其值通过签名算法的特定规则获得。

  4. RecvWindow 定义请求的有效时间。

    • 服务器检查时间戳是否在 2s 到 60s 之间。
    • 超过 5000ms 的请求无效。
    • 如果客户端时间戳超前服务器时间 >1s,请求无效。
    • 不建议超过 5s
    • 高频交易可以调整 recvWindow
  5. 算法 签名使用哈希协议计算。推荐:HmacSHA256。支持:HmacMD5HmacSHA1HmacSHA224HmacSHA256HmacSHA384HmacSHA512

签名参数

名称必填示例描述
validate-appkeydbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83用户的 AppKey
validate-timestamp1641446237201Unix 时间戳(毫秒)
validate-signature0a7d0b5e802eb5e52ac0cfcd6311b0faba6e2503a9a8d1e2364b38617877574d生成的签名
validate-recvwindow5000(毫秒)请求有效时间窗口
validate-algorithmsHmacSHA256支持:HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512
validate-signversion1.0保留字段,签名版本号